'\" te
.\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH NET_GETLIFADDR 9F "Oct 13, 2008"
.SH NAME
net_getlifaddr \- determine a network address for a given interface
.SH SYNOPSIS
.nf
#include <sys/neti.h>

\fBint\fR \fBnet_getlifaddr\fR(\fBconst\fR \fBnet_data_t\fR \fInet\fR, \fBconst\fR \fBphy_if_t\fR \fIifp\fR,
     \fBconst\fR \fBnet_if_t\fR \fIlif\fR, \fBint\fR \fBconst\fR \fItype\fR,
     \fBstruct\fR \fBsockaddr*\fR \fIstorage\fR);
.fi

.SH INTERFACE LEVEL
illumos DDI specific (illumos DDI).
.SH PARAMETERS
.ne 2
.na
\fB\fInet\fR\fR
.ad
.RS 11n
value returned from a successful call to \fBnet_protocol_lookup\fR(9F).
.RE

.sp
.ne 2
.na
\fB\fIifp\fR\fR
.ad
.RS 11n
value returned from a successful call to \fBnet_phylookup\fR(9F) or
\fBnet_phygetnext\fR(9F), indicating which network interface the information
should be returned from.
.RE

.sp
.ne 2
.na
\fB\fIlif\fR\fR
.ad
.RS 11n
indicates the logical interface from which to fetch the address.
.RE

.sp
.ne 2
.na
\fB\fItype\fR\fR
.ad
.RS 11n
indicates what type of address should be returned. See below for more details
on this field.
.RE

.sp
.ne 2
.na
\fB\fIstorage\fR\fR
.ad
.RS 11n
pointer to an area of memory to store the address data.
.RE

.SH DESCRIPTION
The \fBnet_getlifaddr()\fR function retrieves the address information for each
logical interface. Each call to \fBnet_getlifaddr()\fR requires that the caller
pass a pointer to an array of address information types to retrieve, and an
accompanying pointer to an array of pointers to \fBstruct sockaddr\fR
structures to which to copy the address information. See
\fBnet_lifgetnext\fR(9F) for an example on how to use this function.
.sp
.LP
Each member of the address \fBtype\fR array should be one of the values listed
here.
.sp
.ne 2
.na
\fB\fBNA_ADDRESS\fR\fR
.ad
.RS 16n
Return the network address associated with the logical interface (\fBlif\fR)
that belongs to the network interface (\fBifp\fR).
.RE

.sp
.ne 2
.na
\fB\fBNA_PEER\fR\fR
.ad
.RS 16n
Return the address assigned to the remote host for point to point network
interfaces for the given network/logical interface.
.RE

.sp
.ne 2
.na
\fB\fBNA_BROADCAST\fR\fR
.ad
.RS 16n
Return the broadcast address assigned to the given network/logical interface
for network interfaces that support broadcast packets.
.RE

.sp
.ne 2
.na
\fB\fBNA_NETMASK\fR\fR
.ad
.RS 16n
Return the netmask associated with the given network/logical interface for
network interfaces that support broadcast packets.
.RE

.SH RETURN VALUES
The \fBnet_getlifaddr()\fR function returns:
.sp
.ne 2
.na
\fB-1\fR
.ad
.RS 6n
The network protocol does not support this function.
.RE

.sp
.ne 2
.na
\fB0\fR
.ad
.RS 6n
Successful completion.
.RE

.sp
.ne 2
.na
\fB1\fR
.ad
.RS 6n
Unsuccessful.
.RE

.SH CONTEXT
The \fBnet_getifaddr()\fR function may be called from user, kernel, or
interrupt context.
.SH ATTRIBUTES
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Committed
.TE

.SH SEE ALSO
.BR net_lifgetnext (9F),
.BR net_phygetnext (9F),
.BR net_phylookup (9F),
.BR net_protocol_lookup (9F)
